This invention relates to byte and frame synchronization on loop systems coupling terminals attaching high data rate devices, and, more particularly, to systems coupling terminals attaching a CPU channel and bulk storage devices such as disks and tapes.
Loop systems capable of transmitting data at megabyte per second rates customarily use equal fixed length multibyte frames, each frame being assignable to only one terminal at a time. Also, such systems may have a loop delay or latency greatly exceeding the fixed length frame duration by virtue of the high data rate.
A CPU channel accesses data on DASD storage devices by communicating a series of instructions identifying the record location in terms of disk drive, storage volume, disk (track) and angular position and the reading or writing operation of interest. The instructions termed channel command words are interpreted by a controller common to the disk drives for actually positioning the access mechanism relative to the storage device and executing the read or write operation. Because the availability of the channel and the response times of the storage system to the accessing, reading, and writing of records varies, the coupling between the channel and the DASD is "loose", i.e., transfers are made by way of a demand/response protocol. This means that the status of a device is first ascertained and if it is available, then one data transaction can take place. This minimizes the need for buffering even though the "speeds" of the devices differ.
The coupling of a CPU channel to a plurality of storage devices on a time shared basis via a loop does not change the protocol in principle. It does mean that account must be taken of the special characterisitcs of loops. For example, loops for use with high data rate storage devices must make provision for disconnecting a terminal which might overrun the system. Alternately, locking out of those terminals which prospectively could overrun the system is desirable. This situation occurs for two reasons. First, bulk storage devices such as disks and tapes lack a start/stop capability on a character basis. In contrast, they transfer data by multiple byte, record, or entire track. Second, for volume transfer, a broad bandwidth (high data rate) is mandatory. In this regard, overruns occur when the available loop bandwidth is less than the aggregate bandwidth of all terminals requesting service.
A loop protocol for coupling the channel and storage devices must provide for sending access commands from the channel, writing of data only to the extent that the receiving device can accommodate the transfer, and allocating bandwidth so as to avoid blocking some loop secondary terminals in favor or others or overrunning of the device. In the prior art, some loop protocols assign a frame/slot to a device on a permanent basis. Consequently, time (bandwidth) is wasted if the slots are not utilized. Where a loop protocol requires the primary terminal to centrally allocate slots, the primary will not be cognizant of the instantaneous data rate variations of devices. This, in turn, requires the primary to transmit assigned frames/slots at a rate higher than the device. This, too, is wasteful because no other device can utilize the excess bandwidth assigned to the overrunning device. Still other loop protocols utilize distributional schemes such as optional response polling. In an ORP system, the overhead frames at the beginning of each cycle together with its variable length place buffering requirements on each device. The number of wasted frames is at least equal to the loop latency during each ORP cycle.
Any loop system time sharing its facilities among different addressable terminals needs a frame format having an address, control, and data portion thereof. The address portion must include the addressee and/or may include an addressor. The control portion is usually reserved for indicating type or mode, i.e., service request, command, write, read, device status and frame status, i.e., available/unavailable, full/empty. The frame format as might be expected implements the demand/response protocol. For example, if the channel wants to write data on a specific storage device, then the storage device must have some way of positively indicating availability and readiness to receive data. This is communicated by means of a status frame. To avoid being overrun, the device sends a "write" request frame from the secondary to the primary whenever its data buffer has space for at least one frame of data. In order to allow as small a data buffer as possible, this loop protocol constrains the primary to respond to every write request with a minimum and invariable time delay. The secondary can take advantage of the resulting invariable loop latency by sending its request before it actually needs the data.
In those loop systems in which the loop delay is a multiple of the frame length, then it may also be said that the bit stream propagation contains frequency components approaching the upper frequency cutoff of the propagation medium such that propagation is affected by phase, frequency, amplitude, distortion and jitter. The sources of jitter are thought to be due to inter-symbol interference and both to systemic error and random noise signals which unpredictably modulate signals on the loop. This produces sudden shifts in frequency or amplitude. Relatedly, the propagated jitter on a low speed loop is usually small compared to the bit interval. This means that low speed loop bit resynchronization is not difficult. In contrast, a high speed loop demands a high inertial clocking system relatively independent of bit jitter.
The aforementioned propagation impairments impose severe demands on high speed loops. Thus, a terminal on a high speed loop usually detects loss of bit synch only because it is accompanied by a loss of frame synch. The terminal nevertheless continues to retransmit incoming data without intentionally modifying it until the frame synch is recaptured. During this resynchronizing period the terminals on prior art high speed loops inject errors into the data stream because their oscillator has been operating at a frequency different from that of the incoming data.
Typically, in the systems of the prior art, terminals upstream from an out-of-synch terminal may continue to transmit data unaware that the data is not being properly passed onto the primary terminal. The data errors are detected by the primary, of course, at the expense of repeating the entire transmission. In high speed loops adapted to volume transmission, the requirements of both high reliability and continuity of throughput make message repetition and frequent "handshaking" both of which decrease information transfer unacceptable.
The prior art subsequently cited is generally directed to low speed loops. By this is meant the fact that the loop delay or latency is less than the frame duration.
The art of interest includes Donnan and Kersey, "Synchronous Data Length Control: A Perspective", by the IBM Systems Journal, No. 2, 1974, pages 140-162. Donnan references only frame synchronization and is not concerned with synchronization down to the byte or smaller information level. Other references considered only synchronization at the frame level. Graham, U.S. Pat. No. 3,632,881 FIG. 2; and Deutsch, U.S. Pat. No. 3,639,694, col. 4, lines 39-48, use a system of 24 contiguous bits for synchronization in order to maintain synchronism within the various devices in the communication system and for providing separation between adjacent communication frames. Deutsch is primarily directed to the loop transmission of data among a large number of low data rate sources and sinks clustered on a time multiplex basis.
Other references include Hartmann, U.S. Pat. No. 3,859,466; Thomas, U.S. Pat. No. 3,652,799; and Williams U.S. Pat. No. 3,424,864. These references typify the prior art attention to low speed terminal oriented loops rather than loops in which delay is an integral multiple of frame lengths.
Hartmann and Williams require each station connected to every other station of a network over a duplex channel to utilize an operating frequency common to all in which frequency changing at any station is a function of phase comparison. In both Hartmann and Williams, the common frequency represents an average value, although Hartmann will allow a station to join the network with a minimal disturbance thereto. However, in both references a station connected to the network that loses synch will disturb the other station and cause errors in communication until they are synchronized. Lastly, Thomas detects a lack of synchronization by the non-correspondence between consecutive frame synch signals with resynchronizing being performed in parallel.
For completeness, reference is made to Sawtschenko, U.S. Pat. No. 3,906,153. In this patent there is described the resynching of frames clocked on a loop with frames communicated to the loop over a half duplex path from a remote source. Frame resynching is accommodated at the loop primary terminal by a slowly varying phase adjustment to avoid loss of "bit synch".